\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{jeu. mars 18 20:02:02 CET 2010}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={Magic SysRq key},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Touches Magic SysRq key},
CreationDate={D:20100318200202},
ModDate={D:20100318200202},
Keywords={Linux}
}}
\begin{document}
 
\begin{center}
{\Huge Magic SysRq key }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Touches Magic SysRq key}
 
\vspace{10mm}
 
\hspace{1mm}  Les \textbf{magic SysRq key} sont une fonctionnalité du noyau Linux qui permet par une combinaison de touches de lancer des commandes de bas niveau. Elle doit être activée à la compilation du noyau.
\vspace{5mm} \\
\hspace{1mm}  La principale utilité de cette fonctionnalité est de pouvoir redémarrer un système bloqué sans corrompre le système de fichier.
\vspace{5mm} \\
\hspace{1mm}  Sur un ordinateur x86, la combinaison utilisée est formée des 3 touches : \textbf{Alt+Imprim écran} ou \textbf{Syst} et une autre touche qui détermine l'action à effectuer : \textbf{r} « récupère » le clavier, approprié le plus souvent par le système de fenêtrage X Window.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} k]{tue tous les processus de la console virtuelle active}
\item[\hspace{1mm} b]{redémarre immédiatement le système. Cette fonctionnalité peut provoquer des pertes de données : ce qui est en mémoire cache n'est pas écrit sur les disques ; cette fonctionnalité est beaucoup plus radicale que le Ctrl-Alt-Delete de Microsoft ou que le Ctrl+Alt+Del de Linux}
\item[\hspace{1mm} c]{redémarre le processus kexec et affiche le message du crash}
\item[\hspace{1mm} s]{synchronise tous les systèmes de fichier montés Cette fonctionnalité peut être très utile si on doit faire un arrêt rapide de l'ordinateur (arrêt électrique ou logiciel) : elle permet de ne pas perdre les données en mémoire cache}
\item[\hspace{1mm} o]{arrête le système}
\item[\hspace{1mm} u]{passe tous les systèmes de fichier montés en lecture seule}
\item[\hspace{1mm} p]{affiche les registres courants et les flags dans la console}
\item[\hspace{1mm} t]{affiche la liste des différentes tâches actives ainsi que des informations pour chacune}
\item[\hspace{1mm} m]{affiche les informations relatives à la mémoire dans la console (dans cette situation, le noyau n'est pas en mesure de tenir compte de la disposition des touches sur le clavier, et interprète les frappes comme si elles étaient réalisées sur un clavier QWERTY. Dans le cas de l'utilisation d'un clavier AZERTY, il faut donc appuyer sur ',' la touche qui se trouve à l'emplacement du m du clavier QWERTY)}
\item[\hspace{1mm} de 0 à 9]{permet de définir le type de messages du noyau qui s'affichent dans la console}
\item[\hspace{1mm} f]{appelle la fonction oom\_kill, elle tue le processus qui consomme toute la mémoire disponible}
\item[\hspace{1mm} e]{envoie le signal SIGTERM à tous les processus excepté init}
\item[\hspace{1mm} i]{envoie le signal SIGKILL à tous les processus excepté init}
\item[\hspace{1mm} l]{envoie le signal SIGKILL à tous les processus init compris}
\end{description}
 
\hspace{1mm}  Toutes autres touches non assignées à une commande affiche une aide sommaire dans la console.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Modifications }
 
\
 
\hspace{1mm}  Les différentes méthodes pour modifier cette fonctionnalité sont
\vspace{5mm} \\
\hspace{1mm}  - méthode la plus rapide : dans le fichier \textbf{sysctl.conf}, interdire ces fonctionnalités en mettant \textbf{kernel.sysrq=0}. Dans ce cas, le contenu du fichier \textbf{/proc/sys/kernel/sysrq} sera '\textbf{0}'.
\vspace{5mm} \\
\hspace{1mm}  - Méthode plus longue, mais plus rigoureuse : Avant de générer un noyau, paramétrer le booléen \textbf{CONFIG\_MAGIC\_SYSRQ} à \textbf{false} dans les paramètres \textbf{kernel hacking}
\vspace{5mm} \\
\hspace{1mm}  - Méthode de loin la plus rigoureuse, mais aussi la plus complexe et la plus longue : Il peut être tentant de supprimer les fonctionnalités trop dangereuses, et de laisser celles qui peuvent être utiles dans certains cas extrêmes
\vspace{5mm} \\
\hspace{1mm}  Pour supprimer les fonctions jugées trop dangereuses : Avant de générer le noyau, il faut modifier un des fichiers \textbf{sysrq.c} des sources du noyau, Il y a plusieurs fichiers \textbf{sysrq.c}, il faut choisir celui correspondant au type de processeur concerné.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Redémarrer proprement un système bloqué }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} Pour redémarrer un système Linux qui ne répond plus, il faut utiliser la séquence de touches suivante :]{}
\item[\hspace{1mm} 1.]{un\textbf{r}aw — récupérer le contrôle du clavier X ;}
\item[\hspace{1mm} 2.]{t\textbf{e}rminate — envoyer SIGTERM a tous les processus, pour leur permettre de s'arrêter proprement ;}
\item[\hspace{1mm} 3.]{k\textbf{i}ll — envoyer SIGKILL a tous les processus, pour les forcer à s'arrêter immédiatement ;}
\item[\hspace{1mm} 4.]{\textbf{s}ync — synchroniser les disques, écrire le contenu du tampon sur le disque ;}
\item[\hspace{1mm} 5.]{\textbf{u}nmount — remonter tous les systèmes de fichiers en lecture seule, pour ne pas devoir lancer fsck au redémarrage ;}
\item[\hspace{1mm} 6.]{\textbf{b}oot.}
\end{description}
 
\hspace{1mm}  Il faut commencer par maintenir simultanément les touches \textbf{Alt} et \textbf{Syst}, puis l'une après l'autre les touches dans l'ordre donné, en attendant au moins deux secondes entre chaque touche.
\vspace{5mm} \\
\hspace{1mm}  Cela permet de démonter correctement les systèmes de fichiers, ce qui évite de risquer des corruptions de données et de devoir exécuter \textbf{fsck} au redémarrage. De plus les processus ont du temps pour enregistrer des sauvegardes d'urgence le cas échéant.
\vspace{5mm} \\
 
\end{flushleft}
\end{document}
